Rate control and video denoising for noisy video data

ABSTRACT

A method and a computer-readable medium containing computer program for simultaneously performing rate control and video denoising for video corrupted by noise are presented. Video data includes original video data and noise data. A variance of the noise data for each macroblock within a frame is estimated. Based on the estimated noise variance, a low bound quantization parameter is generated. The video data are reconstructed such that the distortion between the original video data and reconstructed video data is minimized over each macroblock within a frame. The minimization of the distortion between the original video and reconstructed video data is implemented using a quantization parameter that is equal to or larger than the low bound quantization parameter.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No. 60/929,992, filed Jul. 20, 2007, which is hereby incorporated herein by reference in its entirety.

FIELD OF THE INVENTION

The present subject matter relates to simultaneously performing rate control and video denoising for video partly or fully corrupted by noise.

BACKGROUND OF THE INVENTION

Due to the huge size of raw digital video data or image sequences, compression may be applied to such data so that they may be transmitted and stored. Hybrid video coding scheme is the most common video coding scheme. It utilizes motion estimation (ME), discrete cosine transform (DCT)-based transform, and entropy coding to exploit temporal, spatial, and data redundancies, respectively. Most of the existing video coding standards conform to this hybrid scheme, such as ISO/IEC MPEG-1, MPEG-2, and MPEG-4 standards, and ITU-T H.261, H.263, and H.264 standards. ISO/IEC MPEG-1 and MPEG-2 standards are used extensively by the entertainment industry to distribute movies, in the form of applications such as video compact disks (VCDs) (MPEG-1), digital video or digital versatile disks (DVDs) (MPEG-2), recordable DVDs (MPEG-2), digital video broadcast (DVB) (MPEG-2), video-on-demands (VODs) (MPEG-2), high definition television (HDTV) in the US (MPEG-2), etc. MPEG-4 is more advanced than MPEG-2 and can achieve high quality video at lower bit rate, making it suitable for video streaming over internet, digital wireless network (e.g. 3G network), multimedia messaging service (MMS standard from 3GPP), etc. MPEG-4 is accepted for the next generation high definition DVD (HD-DVD) standard and the MMS standard. ITU-T H.261, H.263, and H.264 standards are designed mainly for low-delay video phones and video conferencing systems. The earlier H.261 standard was designed to operate at bit rates of p*64 kbit/s, with p=1, 2, . . . , 31. The later H.263 standard is successful and widely used in modern video conferencing systems, and video streaming in broadband and wireless networks, including the multimedia messaging service (MMS) in 2.5G and 3G networks and beyond. The latest H.264 (also called MPEG-4 Ver. 10 or MPEG-4 AVC) is currently the state-of-the-art video compression standard. It is so powerful that the Moving Picture Experts Group (MPEG) decided to jointly develop the standard with the International Telecommunication Union (ITU) Telecommunication Standardization Sector (ITU-T) in the framework of the Joint Video Team (JVT). The new standard is called H.264 in ITU-T and is called MPEG-4 Advance Video Coding (MPEG-4 AVC) or MPEG-4 Version 10 in ISO/IEC. H.264 is used in the HD-DVD standard, Direct Video Broadcast (DVB) standard, MMS standard, etc. Based on H.264,.a related standard called the Audio Visual Standard (AVS) is currently under development in China. AVS 1.0 is designed for high definition television (HDTV). AVS-M is designed for mobile applications. Other related standards may be under development as well.

H.264 has superior objective and subjective video quality over MPEG-1, MPEG-2, and MPEG-4, and H.261 and H.263. The basic encoding algorithm of H.264 (Joint Video Team of ITU-T and ISO/IEC JTC 1, “Draft ITU-T Recommendation and Final Draft International Standard of Joint Video Specification (ITU-T Rec. H.264 | ISO/IEC 14496-10 AVC),” document JVT-G050r1, May 2003) is similar to H.263 or MPEG-4 except that integer 4×4 DCT is used instead of the traditional 8×8 DCT. There are additional features of the H.264 standard including intra-prediction mode for l-frames, multiple block sizes and multiple reference frames for motion estimation/compensation, quarter pixel accuracy for motion estimation, in-loop deblocking filter, context adaptive binary arithmetic coding, etc.

The above-mentioned traditional block-based motion compensated video encoders, e.g. H.263, H.264, are specially designed for the compression of clean video sequences. However, when the input video sequences are corrupted by noise, these encoders may have some problems, e.g. they may generate bitstreams with high bitrate but poor peak signal-to-noise ratio (PSNR) performance. Moreover, the visual quality of output reconstructed video sequences may be noisy. There is a need to address the rate control and denoising problems for the video sequences partially or fully corrupted by Gaussian noise as shown in FIGS. 1( a) and 1(b). In this work, a simultaneously rate controlling and video denoising approach using rate distortion optimization is proposed.

SUMMARY OF THE INVENTION

The present subject matter provides a method for simultaneously performing rate control and video denoising for video corrupted by noise, comprising the steps of: receiving video data (I^(n)) including original video data (I) and noise data (n); estimating a variance of the noise data for each macroblock within a frame; generating a low bound quantization parameter (QP_(lowbound)) based on the estimated noise variance; and reconstructing the video data such that the distortion between the original video data (I) and reconstructed video data (Î^(n)) is minimized over each macroblock within a frame.

According to another aspect, the subject matter includes a method for encoding noisy video signals, comprising the steps of: receiving video data (I^(n)) including original video data (I) and noise data (n); determining a variance of the noise data for each macroblock; determining a low bound quantization parameter (QP_(lowbound)) based on the noise variance; and controlling the bitrate of output bitstreams and the quality of reconstructed video data (Î^(n)) based on the low bound quantization parameter.

According to further aspect, the subject matter includes a computer-readable medium containing a computer program for encoding noisy video data that include original video data and noise data, said computer program comprising: first code for estimating a variance of the noise data for each macroblock within a frame; second code for generating a low bound quantization parameter based on the estimated noise variance; and third code for reconstructing the video data such that the distortion between the original video data and reconstructed video data is minimized over each macroblock within a frame.

In an embodiment of the present method, the minimization of the distortion between the original video data and reconstructed video data is implemented using a quantization parameter (QP) that is equal to or larger than the low bound quantization parameter (QP_(lowbound)).

In another embodiment of the present method, the steps of determining the low bound quantization parameter and controlling the bitrate of output bitstreams and the quality of reconstructed video data are implemented by a same component.

According to still further aspect, the subject matter includes a method for simultaneously performing rate control and video denoising for video corrupted by noise, comprising the steps of: receiving video data (I^(n)) including original video data (I) and noise data (n); and reconstructing the video data such that the distortion between the original video data (I) and reconstructed video data (Î^(n)) is minimized by determining the optimal value (R_(t)) for the bitrate of each Macroblock.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other aspects of the subject matter will be apparent with reference to the examples in the following description and with reference to the accompanying drawings, wherein

FIG. 1( a) shows video sequences partially corrupted by noise; and FIG. 1( b) shows video sequences fully corrupted by noise.

FIG. 2 is a block diagram showing a video encoder.

FIG. 3 shows rate distortion performance of H.264 for noisy video.

FIG. 4( a) shows the relationship between the correlation D_(i) ^(qn) and the square root of the quantization distortion √{square root over (D_(i) ^(q))} in “foreman” sequence; FIG. 4( b) shows the same in “akiyo” sequence.

FIG. 5 shows the relationship between the square root of the optimal quantization distortion quantization distortion √{square root over (D_(i) ^(q) _(—) _(opt))} and noise variance σ_(n).

FIG. 6 shows rate distortion performance comparison between a method using a spatially constant QP and the proposed method.

FIG. 7 shows subjective visual quality comparison: FIG. 7( a) original frame; FIG. 7( b) noisy frame with spatially varying noise variance; FIG. 7( c) and FIG. 7( d) reconstructed by using constant QP=24 and QP=32, respectively, where the corresponding average (bitrate kb/s, PSNR dB) are (432.67, 33.37) and (97.72, 32.43); FIG. 7( e) and FIG. 7( f) reconstructed using the proposed adaptive QP rate control method, where the corresponding average (bitrate kb/s, PSNR dB) are (461.53, 40.51) and (98.04, 35.86).

FIG. 8 shows rate distortion performance comparison between a method using H.264 and the proposed method: FIG. 8( a) is for “Foreman”; and FIG. 8( b) is for “Carphone.”

FIG. 9 shows quality comparison for “Foreman”: FIG. 9( a) original frames; FIG. 9( b) noisy frames with spatially varying noise variance; FIG. 9( c) reconstructed frames using H.264, where the corresponding average (bitrate kb/s, PSNR dB) are (301.26, 34.70); and FIG. 9( d) reconstructed frames using the proposed method, where the corresponding average (bitrate kb/s, PSNR dB) are (298.42, 41.27).

FIG. 10 shows quality comparison for “Carphone”: FIG. 10( a) original frames; FIG. 10( b) noisy frames with spatially varying noise variance; FIG. 10( c) reconstructed frames using H.264, where the corresponding average (bitrate kb/s, PSNR dB) are (300.27, 32.85); and FIG. 10( d) reconstructed frames using the proposed method, where the corresponding average (bitrate kb/s, PSNR dB) are (293.55, 40.48).

DETAILED DESCRIPTION OF THE INVENTION Problem Formulation

The video corrupted by additive Gaussian noise can be formulated as following:

I ^(n) =I+n   (1)

where I=[I₁, I₂ . . . I_(k, I) _(k+1) . . . I_(m)]^(T) is the original (ideal) video while I_(k) is the k-th frame, n=[n₁, n₂ . . . n_(k), n_(k+1) . . . n_(m)]^(T) is the additive Gaussian noise, and I^(n)=[hd 1 ^(n),I₂ ^(n). . . I_(m) ^(n)]^(T) is the noisy observation of the video. Here, each frame has N pixels. In this case, I_(k), n_(k), I_(k) ^(n) are all length-N vectors.

The video denoising problem is designed to find an estimate Î from the original video based on the noisy observation I^(n). From Y. Chen et al., “Maximum a posteriori based (map-based) video denoising via rate distortion optimization,” in Proc. IEEE International Conference on Multimedia and Expo, 2007, it is known that the denoising problem can be regarded as a rate distortion optimization problem under some appropriate assumptions, which means that it is possible to perform video denoising through video encoders. However, directly inputting the noisy video to the video encoder, as shown in FIG. 2, may result in generation of bitstreams with high bitrate but poor PSNR performance, as shown FIG. 3. In order to avoid this case, one should carefully choose the parameter of the video encoder.

In a traditional block-based motion compensated video encoder, the rate-distortion optimization model for a macroblock p is defined as follows:

$\begin{matrix} {{S_{p}^{*} = {{\arg \; {\min\limits_{S_{p}}{D\left( {p,S_{p}} \right)}}} + {{\lambda (Q)}{R_{p}\left( S_{p} \right)}}}}{{\hat{I}}_{p} = {{\hat{I}}_{p}^{n}\left( S_{p}^{*} \right)}}} & (2) \end{matrix}$

where Sp=[mode, motion vector, reference index, quantization parameter] denotes the vector of coding decisions for the macroblock p. Among these, the most important parameter is a quantization parameter QP since using too small QP will output the bitstream with high bitrate but poor PSNR performance, as shown in FIG. 3. In the following, it will be first described in detail about how to generate the low bound quantization parameter QP_(lowbound). A QP which is smaller than QP_(lowbound) will output unreasonable bitstreams with a larger bit rate and larger distortion. Then, it will be described about the proposed algorithm in detail. Finally, it will be described about several experiments to demonstrate the efficiency and effectiveness of the proposed method.

Low Bound Quantization Parameter QPlowbound

For denoising purpose, one way to denoise is to minimize the distortion between the original data I and the reconstructed version Î^(n). It is assumed that minimizing over the whole frame is equivalent to minimizing over each marcoblock (MB) within the frame independently, ignoring any dependency among MBs. In the following, the reconstructed distortion E(D_(p)) for MB p is defined as the expectation of the square difference between the original pixel I_(i) and the reconstructed one Î_(i) ^(n).

$\begin{matrix} \begin{matrix} {{E\left( D_{p} \right)} = {E\left\lbrack {\sum\limits_{i \in {MB}_{p}}\left( {I_{i} - {\hat{I}}_{i}^{n}} \right)^{2}} \right\rbrack}} \\ {= {\sum\limits_{i \in {MB}_{p}}\left\lbrack {E\left( {I_{i} - I_{i}^{n} + I_{i}^{n} - {\hat{I}}_{i}^{n}} \right)}^{2} \right\rbrack}} \\ {= {\sum\limits_{i \in {MB}_{p}}\left\lbrack {E\left( {I_{i}^{n} - {\hat{I}}_{i}^{n} - n_{i}} \right)}^{2} \right\rbrack}} \\ {= {\sum\limits_{i \in {MB}_{p}}\left\{ {{E\left( {I_{i}^{n} - {\hat{I}}_{i}^{n}} \right)}^{2} - {2 \times {E\left\lbrack {\left( {I_{i}^{n} - {\hat{I}}_{i}^{n}} \right)n_{i}} \right\rbrack}} + {E\left( n_{i} \right)}^{2}} \right\}}} \\ {= {\sum\limits_{i \in {MB}_{p}}\left( {D_{i}^{q} - {2 \times D_{i}^{qn}} + \sigma_{n}^{2}} \right)}} \end{matrix} & (3) \end{matrix}$

where D_(i) ^(q)=E(I_(i) ^(n)=Î_(i) ^(n))² is the quantized distortion, D_(i) ^(qn)=E[9I_(i) ^(n)−Î_(i) ^(n))n_(i)] is the correlation between the quantized error I_(i) ^(n)−Î_(i) ^(n) and the noise n_(i).

From Equation (3), it can be seen that the expected distortion E(D_(p)) is a function of the quantization distortion D_(i) ^(q) and the correlation D_(i) ^(qn). In order to minimize E(D_(p)), Applicants derived the relation between D_(i) ^(q) and D_(i) ^(qn) through experimental results. Applicants used the first 50 frames of “foreman” and “akiyo” sequences for training. The relationship between D_(i) ^(q) and D_(i) ^(qn) is shown in FIG. 4. From FIG. 4, D_(i) ^(qn) can be approximated as a function of √{square root over (D_(i) ^(q))}:

$\begin{matrix} {D_{i}^{qn} = \left\{ \begin{matrix} {{{a_{1}^{n}\left( {\sqrt{D_{i}^{q}} - a_{2}^{n}} \right)}^{2} + a_{3}^{n}},} & {{{for}\mspace{20mu} \sqrt{D_{i}^{q}}} < b^{n}} \\ {{{a_{1}^{n}\left( {b^{n} - a_{2}^{n}} \right)}^{2} + a_{3}^{n}},} & {{{for}\mspace{20mu} \sqrt{D_{i}^{q}}} \geq b^{n}} \end{matrix} \right.} & (4) \end{matrix}$

where a₁ ^(n), a₂ ^(n), a₃ ^(n), amd b^(n) are parameters determined by the noise variance. Once the noise variance is fixed, they are constant. Moreover, from FIG. 4, we can see that a₁ ^(n) and b^(n) are both positive.

According to the Equation (4), we can re-write E(Dp) as:

$\begin{matrix} {{E\left( D_{p} \right)} = \left\{ \begin{matrix} {{\sum\limits_{i \in {MB}_{p}}\left\{ {D_{i}^{q} - {2{\sigma_{n}\left\lbrack {{a_{1}^{n}\left( {\sqrt{D_{i}^{q}} - a_{2}^{n}} \right)}^{2} + a_{3}^{n}} \right\rbrack}} + \sigma_{n}^{2}} \right\}},} & {{{for}\mspace{14mu} \sqrt{D_{i}^{q}}} \leq b^{n}} \\ {{\sum\limits_{i \in {MB}_{p}}\left\{ {D_{i}^{q} - {2{\sigma_{n}\left\lbrack {{a_{1}^{n}\left( {b^{n} - a_{2}^{n}} \right)}^{2} + a_{3}^{n}} \right\rbrack}} + \sigma_{n}^{2}} \right\}},} & {{{for}\mspace{14mu} \sqrt{D_{i}^{q}}} \geq b^{n}} \end{matrix} \right.} & (5) \end{matrix}$

From the equation above, we can see that E(D_(p)) is a piecewise function of √{square root over (D_(i) ^(q))}. In the following, we derive the minimal value of E(D_(p)) for each region.

1) Case one √{square root over (D_(i) ^(q))}≧b^(n):

${E\left( D_{p} \right)} = {\sum\limits_{i \in {MB}_{p}}\left\{ {D_{i}^{q} - {2{\sigma_{n}\left\lbrack {{a_{1}^{n}\left( {b^{n} - a_{2}^{n}} \right)}^{2} + a_{3}^{n}} \right\rbrack}} + \sigma_{n}^{2}} \right\}}$

is a monotonic increase function of √{square root over (D_(i) ^(q))} when √{square root over (D_(i) ^(q))}≧b^(n)>0. Therefore, the minimal value of E(D_(p)) is achieved when √{square root over (D_(i) ^(q))}=b^(n). Here, the minimal value is:

$\begin{matrix} {{{{E\left( D_{p} \right)}_{\min} = {\sum\limits_{i \in {MB}_{p}}\left\{ {\left( b^{n} \right)^{2} - {2{\sigma_{n}\left\lbrack {{a_{1}^{n}\left( {b^{n} - a_{2}^{n}} \right)}^{2} + a_{3}^{n}} \right\rbrack}} + \sigma_{n}^{2}} \right\}}},{when}}{\sqrt{D_{i}^{q}} = b^{n}}} & (6) \end{matrix}$

2) Case two √{square root over (D_(i) ^(q))}≦b^(n): If √{square root over (D_(i) ^(q))}≦b^(n),

${E\left( D_{p} \right)} = {\sum\limits_{i \in {MB}_{p}}\left\{ {D_{i}^{q} - {2{\sigma_{n}\left\lbrack {{a_{1}^{n}\left( {\sqrt{D_{i}^{q}} - {\overset{\_}{a}}_{2}^{n}} \right)}^{2} + a_{3}^{n}} \right\rbrack}} + \sigma_{n}^{2}} \right\}}$

is a second order function of √{square root over (D_(i) ^(q))}. By taking the first and second order derivatives over √{square root over (D_(i) ^(q))}, we can get:

$\begin{matrix} {{{\frac{\partial{E\left( D_{p} \right)}}{\partial\sqrt{D_{i}^{q}}} = {{2\sqrt{D_{i}^{q}}} - {2\sigma_{n}2{a_{1}^{n}\left( {\sqrt{D_{i}^{q}} - a_{2}^{n}} \right)}}}},{with}}{{{\sqrt{D_{i}^{q}} \leq {b^{n}.\frac{\partial^{2}{E\left( D_{p} \right)}}{\partial^{2}\sqrt{D_{i}^{q}}}}} = {2 - {4a_{1}^{n}\sigma_{u}}}},{with}}\mspace{14mu} {\sqrt{D_{i}^{q}} \leq {b^{n}.}}} & (7) \end{matrix}$

${{{Let}\mspace{14mu} \frac{\partial{E\left( D_{p} \right)}}{\partial\sqrt{D_{i}^{q}}}} = 0},$

we can get:

$\begin{matrix} {\sqrt{D_{i}^{q}} = \frac{2a_{1}^{n}\sigma_{n}a_{2}^{n}}{{2a_{1}^{n}\sigma_{n}} - 1}} & (8) \end{matrix}$

Since 2a_(i) ^(n)σ_(n)

1,

$\frac{\partial^{2}{E\left( D_{p} \right)}}{\partial^{2}\sqrt{D_{i}^{q}}} = {{2 - {4a_{1}^{n}g_{n}}} < 0.}$

E(D_(p))achieves its maximal value at

$\sqrt{D_{i}^{q}} = {\frac{2a_{1}^{n}\sigma_{n}a_{2}^{n}}{{2a_{1}^{n}\sigma_{n}} - 1}.}$

Also, E(D_(p)) is monotonic increasing when

${0 \leq \sqrt{D_{i}^{q}} \leq \frac{2a_{1}^{n}\sigma_{n}a_{2}^{n}}{{2a_{1}^{n}\sigma_{n}} - 1}},$

and monotonic decreasing when

$\frac{2a_{1}^{n}\sigma_{n}a_{2}^{n}}{{2a_{1}^{n}\sigma_{n}} - 1} \leq \sqrt{D_{i}^{q}} \leq {b^{n}.}$

Therefore, the minimal value of E(D_(p)) is achieved at either √{square root over (D_(i) ^(q))}=0 or √{square root over (D_(i) ^(q))}=b^(n).

$\begin{matrix} {\left. {E\left( D_{p} \right)} \right|_{\sqrt{D_{i}^{q}} = 0} = {\left. {0 - {2{\sigma_{n}\left\lbrack {{a_{1}^{n}\left( {0 - a_{2}^{n}} \right)}^{2} + a_{3}^{n}} \right\rbrack}} + {\sigma_{n}^{2}.{E\left( D_{p} \right)}}} \right|_{\sqrt{D_{i}^{q}} = b^{n}} = {\left( b^{n} \right)^{2} - {2{\sigma_{n}\left\lbrack {{a_{1}^{n}\left( {b^{n} - a_{2}^{n}} \right)}^{2} + a_{3}^{n}} \right\rbrack}} + {\sigma_{n}^{2}.}}}} & (9) \end{matrix}$

According to FIG. 4, we can see that 2a_(i) ^(n)σ_(n)

1 and

$b^{n} > {2\frac{2\sigma_{n}a_{1}^{n}}{{2\sigma_{n}a_{1}^{n}} - 1}{a_{2}^{n}.}}$

Thus,

$\left\lbrack {{E\left( D_{p} \right)}_{\sqrt{D_{i}^{4}} = b^{n}}{{- {E\left( D_{p} \right)}}_{\sqrt{D_{i}^{4}} = 0}}} \right\rbrack = {{\left( b^{n} \right)^{2} - {2{\sigma_{n}\left\lbrack {{a_{1}^{n}\left( {b^{n} - a_{2}^{n}} \right)}^{2} + a_{3}^{n}} \right\rbrack}} + \sigma_{n}^{2} - \left\{ {0 - {2{\sigma_{n}\left\lbrack {{a_{1}^{n}\left( {0 - a_{2}^{n}} \right)}^{2} + a_{3}^{n}} \right\rbrack}} + \sigma_{n}^{2}} \right\}} = {{b^{n}\left\lbrack {{b^{n}\left( {1 - {2\sigma_{n}a_{1}^{n}}} \right)} + {4\sigma_{n}a_{1}^{n}a_{2}^{n}}} \right\rbrack} < {b^{n}\left\lbrack {{2\frac{2\sigma_{n}a_{1}^{n}}{{2\sigma_{n}a_{1}^{n}} - 1}{a_{2}^{n}\left( {1 - {2\sigma_{n}a_{1}^{n}}} \right)}} + {4\sigma_{n}a_{1}^{n}a_{2}^{n}}} \right\rbrack} < 0}}$

Therefore, the minimal value of E(Dp) is achieved when √{square root over (D_(i) ^(q))}=b^(n). Here, the minimal value is:

$\begin{matrix} \begin{matrix} {{E\left( D_{p} \right)}_{\min} = {\sum\limits_{i \in {MB}_{p}}\; \left\{ {\left( b^{n} \right)^{2} - {2{\sigma_{n}\left\lbrack {{a_{1}^{n}\left( {b^{n} - a_{2}^{n}} \right)} + a_{3}^{n}} \right\rbrack}} +} \right.}} \\ {\left. \sigma_{n}^{2} \right\},{{{when}\mspace{14mu} \sqrt{D_{i}^{q}}} = b^{n}}} \end{matrix} & (10) \end{matrix}$

According to Equations (6) and (10), we can see that the minimal value of E(D_(p)) is achieved when √{square root over (D_(i) ^(q))}=b^(n). Let us denote this optimal √{square root over (D_(i) ^(q))} as √{square root over (D_(i) ^(q) _(—) _(opt))}. As shown in FIG. 4, b^(n) is determined by σ_(n). Therefore, the optimal √{square root over (D_(i) ^(q) _(—) _(opt))}, which minimizes E(D_(p)), is determined by σ_(n). FIG. 5 shows the relationship between the optimal √{square root over (D_(i) ^(q) _(—) _(opt))} and σ_(n). We can see that the optimal √{square root over (D_(i) ^(q) _(—) _(opt))} can be approximated as a linear function of σ_(n):

√{square root over (D _(i) ^(q) _(—) _(opt))}=θσ_(n)+ε   (11)

In sufficiently high bit-rate situation, a reasonably well-behaved source probability distribution can be approximated as a constant within each quantization interval. This would lead to the typical bit-rate approximation (T. Wiegand et al., “Rate-constrained coder control and comparison of video coding standards,” IEEE Trans. Circuits Syst. Video Technol., pp. 688-703, 2003):

$\begin{matrix} {D^{q} = \left\{ \begin{matrix} {{\frac{{QP}^{2}}{3},{{for}\mspace{14mu} H{.263}}}\mspace{11mu}} & \; \\ {\frac{2^{\frac{{QP} - 12}{3}}}{3},{{for}\mspace{14mu} H{.264}}} & \mspace{14mu} \end{matrix} \right.} & (12) \end{matrix}$

Applicants relaxed the above equation into a more general approximation by introducing a parameter ω and the bit-rate approximation becomes:

$\begin{matrix} {D^{q} = \left\{ \begin{matrix} {\frac{{QP}^{2}}{\omega},{{for}\mspace{14mu} H{.263}}} & \mspace{14mu} \\ {\frac{2^{\frac{{QP} - 12}{3}}}{\omega},{{for}\mspace{14mu} H{.264}}} & \mspace{14mu} \end{matrix} \right.} & (13) \end{matrix}$

According to Equations (11) and (13), QP₀ corresponding to √{square root over (D_(i) ^(q) _(—) _(opt))} can be generated as:

$\begin{matrix} {{QP}_{0} = \left\{ \begin{matrix} {\sqrt{{\omega \left( {{\theta \; \sigma_{n}} + ɛ} \right)}^{2}},{{for}\mspace{14mu} H{.263}}} & \; \\ {{{3\mspace{11mu} {\log_{2}\left\lbrack {\omega \left( {{\theta \; \sigma_{n}} + ɛ} \right)}^{2} \right\rbrack}} + 12},{{for}\mspace{14mu} H{.264}}} & \; \end{matrix} \right.} & (14) \end{matrix}$

From previous analysis, it is known that QP₀ is the quantization parameter corresponding to √{square root over (D_(i) ^(q) _(—) _(opt))} that minimizes the expectation of the square difference E(D_(p)) between the original pixel l_(i) and the reconstructed one Î_(i) ^(n). In this process, the role of bit rate is not involved. Therefore, this QP₀ as a low bound quantization parameter is treated. Any reasonable QP should be equal to or larger than QP₀ with a smaller bit rate. A QP smaller than QP₀ will have a larger bit rate and larger distortion, which is not reasonable. Here, the low bound quantization parameter is denoted as QP_(lowbound). Also, QP_(lowbound) can be defined as follows:

$\begin{matrix} {{QP}_{lowbound} = {{QP}_{0} = \left\{ \begin{matrix} {\sqrt{{\omega \left( {{\theta \; \sigma_{n}} + ɛ} \right)}^{2}},{{for}\mspace{14mu} H{.263}}} & \; \\ {{{3\mspace{11mu} {\log_{2}\left\lbrack {\omega \left( {{\theta \; \sigma_{n}} + ɛ} \right)}^{2} \right\rbrack}} + 12},{{for}\mspace{14mu} H{.264}}} & \; \end{matrix} \right.}} & (15) \end{matrix}$

The Proposed Simultaneously Rate Control and Video Denoising Algorithm

According to the above analysis, for different σ_(n) ² noise, there is a different low bound quantization parameter QP_(lowbound). The relationship between QP_(lowbound) and σ_(n) is shown in Equation (15). Intuitively, for noisy video that has spatially varying noise variance, we should generate spatially varying QP_(lowbound) to achieve a best rate-distortion performance. Based on this intuition, Applicants propose two rate control schemes to simultaneously denoise and compress the noisy video that has spatially varying noise variance: one is exhaustive search based rate control scheme and the other is optimization based rate control scheme.

1. Exhaustive Search Based Control Scheme:

The detailed procedures of the exhaustive search based rate control scheme are described as follows.

1) First, estimating a noise variance for each macroblock.

2) Then, based on the estimated noise variance, computing a QP_(lowbound) by Equation (15) and using it as an initial QP for each macroblock. By doing this, an initial QP map, which will be used in the further rate control, is created for each frame.

3) Based on the QP map, encoding the frame and generating the actual bitrate R. If the bitrate is not larger than the target bitrate R≦R_(target), the bitstreams are outputted. If R>R_(target), the smallest QP_(i) in the QP map are increased and returned to step 3).

2. Optimization Based Rate Control Scheme:

For the MB level rate allocation problem, minimization of the overall distortion of the current frame under the constraint that the overall bitrate is equal to R_(t) is desired. Also, the traditional MB level rate allocation problem for the noise-free video can be formulated as follows:

$\begin{matrix} {{\begin{matrix} \min \\ {R(i)} \end{matrix}{\sum\limits_{i = 1}^{N_{MB}}\; {D\left( {R(i)} \right)}}},{{s.t.{\sum\limits_{i = 1}^{N_{MB}}\; {R(i)}}} = R_{t}}} & (16) \end{matrix}$

where D(R(i)) is the distortion of the i^(th) MB given that the rate of the i^(th) MB is R(i).

According to the previous discussion, in order to perform video de-noising using rate distortion optimization, the quantization parameter QP should be set to be larger than QP_(lowbound). Therefore, we can integrate the de-noising problem and rate control problem by solving the following optimization problem:

$\begin{matrix} {{\begin{matrix} \min \\ {R(i)} \end{matrix}{\sum\limits_{i = 1}^{N_{MB}}\; {D\left( {R(i)} \right)}}},{{{s.t.{\sum\limits_{i = 1}^{N_{MB}}\; {R(i)}}} = R_{t}};{{R(i)} \leq {{R\left( {{QP}_{lowbound}(i)} \right)}.}}}} & (17) \end{matrix}$

For any reasonable rate distortion relationship, the corresponding solution for the rate allocation problem can be found by solving the optimization problem above. Here, the rate distortion relationship in H.264 is used as an example. As shown in Y. Chen and O. Au, “Simultaneous RD-Optimized rate control and video de-noising,” in IEEE Int. Conf. Acoustics, Speech, Signal Processing, 2008, the MB level rate distortion relationship in H.264 can be approximated as

${D(i)} = {\alpha {\frac{{MAD}^{4}\left( {i,t} \right)}{R(i)}.}}$

Therefore, the optimization problem becomes:

$\begin{matrix} {{{\begin{matrix} \min \\ {R(i)} \end{matrix}{\sum\limits_{i = 1}^{N_{MB}}{a\frac{{MAD}^{4}\left( {i,t} \right)}{R(i)}\mspace{14mu} {s.t.{\sum\limits_{i = 1}^{N_{MB}}\; {R(i)}}}}}} = R_{t}};{{R(i)} \leq {{R\left( {{QP}_{lowbound}(i)} \right)}.}}} & (18) \end{matrix}$

Obviously, the optimization problem above is a convex optimization problem. The optimal solution can be generated by solving the KKT conditions:

$\begin{matrix} {{{R^{*}(i)} = \left. \min 〚{\left\lbrack {{R\left( 〛 \right.}{{QP}_{lowbound}(i)}} \right),{\sqrt{\frac{\alpha}{\lambda^{*}}}{{MAD}^{2}\left( {i,t} \right)}}} \right\rbrack}{where}{{\sum\limits_{i = 1}^{N_{MB}}{R^{*}(i)}} = {R_{t}.}}} & (19) \end{matrix}$

The optimal solution can be found through an iterative form of finding λ*. However, since it is too complex, a suboptimal solution is used instead. An approximate Lagrangian parameter

${\overset{\_}{\lambda} = \left( \frac{\sqrt{a}{\sum\limits_{i = 1}^{N_{MB}}{{MAD}^{2}\left( {i,t} \right)}}}{R_{t}} \right)^{2}},$

which is actually the optimal Lagrangian parameter of the optimization problem in equation (16) with

${{D(i)} = {\alpha \frac{{MAD}^{4}\left( {i,t} \right)}{R(i)}}},$

is used. Then, the suboptimal solution {tilde over (R)}(i) is:

R ⁻(i)=min [([R(QP ₁lowbound (i), (R ₁ t(i)]MAD ¹2(i,t))/(Σ₁(k=i)^(t)(N ₁ MB)≡[(MAD ¹ ₂(k,t))])])]  (20)

Experimental Results

The proposed simultaneous rate control and video de-noising algorithm is evaluated based on modified H.264 JM 9.0. In order to simulate the noising process, the clean video sequences are first manually distorted by adding Gaussian noise. We assume that one slice contains one row MBs and each slice has a possibility p to be corrupted by Gaussian noise and possibility 1-p to be error-free. Then, the noisy videos are input to the video encoder. The video sequences “Foreman” and “Carphone” in QCIF format are tested. In all experiments as conducted, parameters ω, θ, and ε are set to be 1.694, 1.049, and 0.445, respectively (Y. Chen, “Video Denoising and Error Concealment for Robust Video Communication,” in Master Thesis, 2007). In the following, the results of σ_(n) ²=100 and p=0.4 will be shown. Similar results are obtained using different σ_(n) ² and p. The PSNR is computed by comparing with the original video sequence.

In the first experiment, the proposed exhaustive search based rate control scheme is compared with H.264 encoder using spatially constant QP. The rate distortion performance is shown in FIG. 6. It can be seen that the proposed method has much better performance and can gain up to 7 dB, compared with the method using a spatially constant QP. The subjective visual quality is also examined in FIG. 7, where FIGS. 7( a) and 7(b) are the original and noisy frames. FIGS. 7( c) and 7(d) are the results reconstructed by using spatially constant QP=24 and QP=32, respectively, while FIGS. 7( e) and 7(f) are the results generated using the current spatially adaptive QP method. Applicants used QP=35 for the noisy slices for both FIGS. 7( e) and 7(f). For error-free slices, Applicants used QP=12 and QP=26 for FIGS. 7( e) and 7(f), respectively. The corresponding (bitrates (kb/s), PSNR (dB)) for FIGS. 7( c)-7(f) are (432.67, 33.37), (97.72, 32.43), (461.53, 40.51), and (98.04, 35.86), respectively. It can be seen that, by using the proposed spatially adaptive QP rate control method, not only the noise in the noisy slices is greatly reduced, but also the detail information in the error-free slices can be well-preserved. On the contrary, using spatially constant QP method will not only have a poor denoising performance for the noisy slices but also introduce serious distortion to the error-free slices. Notice that the artifacts not only come from the compression distortion of current frame but also from the distortion propagation of previous frames.

In the second experiment, the proposed optimization based rate control scheme is compared with the rate control method in H.264 (Z. G. Li, F. Pan, K. P. Lim, and S. Rahardja, “Adaptive Rate Control for H.264,”in Proc. IEEE International Conference on Image Processing, 2004). The rate distortion performance is shown in FIG. 8. It can been seen that the PSNR performance of the proposed method is much better than that of the method in H.264, especially at high bit-rate situation. Up to 7.88 dB gain can be obtained. The subjective visual quality is also examined in FIGS. 9 and 10, where FIGS. 9( a) and 10(a) and FIGS. 9( b) and 10(b) are the original and noisy frames, respectively. FIGS. 9( c) and 10(c) are the results reconstructed by the rate control method in H.264 while FIGS. 9( d) and 10(d) are the results generated using the proposed method at bit-rate about 300 kb/s. It can be seen that by using the proposed rate control method, not only the noise in the noisy slices is greatly reduced, but also the detail information in the error-free slices can be well-preserved. On the contrary, using the rate control method in H.264 will not only have a poor denoising performance for the noisy slices but also introduce serious distortion to the error-free slices. Notice that the artifacts not only come from the compression distortion of current frame but also from the distortion propagation of previous frames.

The present subject matter can be used in all practical video processing systems. Particularly, all video encoder/transcoder (e.g., H.263, H.264, MPEG-4, AVS, etc) that require regulating the output rate can use the present subject matter. One can incorporate this subject matter into his/her products to improve the coding efficiency and subjective quality of video sequences. In addition, when the noise variance is large, one may integrate other pre-filtering-based denoising method for high bitrate situation.

Although the subject matter has been described with reference to the illustrated embodiment, the subject matter is not limited thereto. The subject matter being thus described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the subject matter, and all such modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims. 

1. A method for simultaneously performing rate control and video denoising for video corrupted by noise, comprising the steps of: receiving video data (I^(n)) including original video data (I) and noise data (n); estimating a variance of the noise data for each macroblock within a frame; generating a low bound quantization parameter (QP_(lowbound)) based on the estimated noise variance; and reconstructing the video data such that the distortion between the original video data (I) and reconstructed video data (Î^(n)) is minimized over each macroblock within a frame.
 2. The method of claim 1, wherein the minimization of the distortion between the original video data and reconstructed video data is implemented using a quantization parameter (QP) that is equal to or larger than the low bound quantization parameter (QP_(lowbound)).
 3. The method of claim 1, wherein the low bound quantization parameter is calculated as a function of a quantized distortion (D_(p)).
 4. The method of claim 3, wherein the distortion between the original video data and reconstructed video data is represented by an expected distortion (E(Dp)) that is a function of the quantized distortion.
 5. The method of claim 4, wherein the expected distortion is minimized when the square root of the quantized distortion is equal to a parameter (b^(n)) determined by the noise variance.
 6. The method of claim 5, wherein the low bound quantization parameter (QP_(lowbound)) is calculated by the following equation: ${QP}_{lowbound} = {{QP}_{0} = \left\{ {\begin{matrix} {\sqrt{{\omega \left( {{\theta \; \sigma_{n}} + ɛ} \right)}^{2}},{{for}\mspace{14mu} H{.263}}} & \; \\ {{{3\mspace{11mu} {\log_{2}\left\lbrack {\omega \left( {{\theta \; \sigma_{n}} + ɛ} \right)}^{2} \right\rbrack}} + 12},{{for}\mspace{14mu} H{.264}}} & \; \end{matrix}.} \right.}$
 7. The method of claim 2, wherein the bitstreams of the reconstructed video data are outputted, if the actual bitrate (R) is not larger than a predetermined bitrate (R_(target)).
 8. The method of claim 7, wherein the reconstruction of the video data is implemented based on a QP map that includes a QP_(i) corresponding ith macroblock within the frame.
 9. The method of claim 8, wherein the smallest QP_(i) in the QP map is increased, if the actual bitrate is larger than the predetermined bitrate.
 10. A method for encoding noisy video signals, comprising the steps of: receiving video data (I^(n)) including original video data (I) and noise data (n); determining a variance of the noise data for each macroblock; determining a low bound quantization parameter (QP_(lowbound)) based on the noise variance; and controlling the bitrate of output bitstreams and the quality of reconstructed video data (Î^(n)) based on the low bound quantization parameter.
 11. The method of claim 10, wherein the steps of determining the low bound quantization parameter and controlling the bitrate of output bitstreams and the quality of reconstructed video data are implemented by a same component.
 12. A computer-readable medium containing a computer program for encoding noisy video data that include original video data and noise data, said computer program comprising: first code for estimating a variance of the noise data for each macroblock within a frame; second code for generating a low bound quantization parameter based on the estimated noise variance; and third code for reconstructing the video data such that the distortion between the original video data and reconstructed video data is minimized over each macroblock within a frame.
 13. The computer-readable medium of claim 12, wherein the minimization of the distortion between the original video data and reconstructed video data is implemented using a quantization parameter that is equal to or larger than the low bound quantization parameter.
 14. A method for simultaneously performing rate control and video denoising for video corrupted by noise, comprising the steps of: receiving video data (I^(n)) including original video data (I) and noise data (n); and reconstructing the video data such that the distortion between the original video data (I) and reconstructed video data (Î^(n)) is minimized by determining the optimal value (R_(t)) for the bitrate of each Macroblock.
 15. The method of claim 14, wherein the optimal value for the bitrate of each Macroblock is generated by solving the following equation: ${R^{*}(i)} = \left. \min 〚{\left\lbrack {{R\left( 〛 \right.}{{QP}_{lowbound}(i)}} \right),{\sqrt{\frac{a}{\lambda^{*}}}{{MAD}^{2}\left( {i,t} \right)}}} \right\rbrack$ where ${\sum\limits_{i = 1}^{N_{MB}}{R^{*}(i)}} = {R_{t}.}$
 16. The method of claim 14, wherein the optimal value for the bitrate of each Macroblock is approximated by the following equation: R ⁻(i)=min [([R(QP ₁lowbound (i), (R ₁ t(i)]MAD ¹2 (i,t))/(Σ₁(k=i)¹(N ₁ MB)≡[(MAD ¹2(k,t))])])] 